﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;

namespace Domain
{
    public class Cliente
    {

        private int id_cliente;

        public int Id_cliente
        {
            get { return id_cliente; }
            set { id_cliente = value; }
        }
        private string nome;

        public string Nome
        {
            get { return nome; }
            set { nome = value; }
        }
        private string celular;

        public string Celular
        {
            get { return celular; }
            set { celular = value; }
        }

        private string email;

        public string Email
        {
            get { return email; }
            set { email = value; }
        }

        private string cpf;

        public string Cpf
        {
            get { return cpf; }
            set { cpf = value; }
        }
        private string rg;

        public string Rg
        {
            get { return rg; }
            set { rg = value; }
        }
        private string telefone;

        public string Telefone
        {
            get { return telefone; }
            set { telefone = value; }
        }
        private List<Endereco> endereco;

        public List<Endereco> Endereco
        {
            get { return endereco; }
            set { endereco = value; }
        }

        private Bitmap foto;

        public Bitmap Foto
        {
            get { return foto; }
            set { foto = value; }
        }

    

        private string senha;

        public string Senha
        {
            get { return senha; }
            set { senha = value; }
        }

        private string usuario;

        public string Usuario
        {
            get { return usuario; }
            set { usuario = value; }
        }


        public Cliente() 
        {
        }

        public Cliente(int id_cliente, string nome, string telefone, string celular, string cpf, string rg)
        {
            this.id_cliente = id_cliente;
            this.nome = nome;
            this.telefone = telefone;
            this.celular = celular;
            this.cpf = cpf;
            this.rg = rg;
        }

        public byte[] FotoUsuario() 
        {
            MemoryStream ms = new MemoryStream();
            this.foto.Save(ms,ImageFormat.Bmp);
            byte[] fotoByte = ms.ToArray();
            return fotoByte;
        }


        public void FotoUsuario(byte[] foto) 
        {
            if (foto.Length > 1)
            {
                Image image = null;
                MemoryStream ms = new MemoryStream(foto);
                image = Bitmap.FromStream(ms);
                this.foto = (Bitmap)Image.FromStream(ms);
            }
        }
        /*Metodo para verificar se um endereço ja esta add no datagrid */
        public Boolean AddEndereco(Endereco endereco) 
        {
            for (int i = 0; i < this.endereco.Count; i++) 
            { 
                if(this.endereco[i].Complemento.Equals(endereco.Complemento))
                {
                    return false;
                }
                 
                if(this.endereco[i].ENdereco.Equals(endereco.ENdereco))
                {
                    return false;
                }
                
                if (this.endereco[i].Numero.Equals(endereco.Numero))
                {
                    return false;
                }
                
                if (this.endereco[i].Referencia.Equals(endereco.Referencia))
                {
                    return false;
                }
            }
            this.endereco.Add(endereco);
            return true;
        }



    }
}
